/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ecoute;

import java.util.ArrayList;
import javax.swing.event.EventListenerList;

/**
 * Objet dont les changements seront notifiés aux ecouteurs.
 * Imite le comportement de Observable.
 * @author Jo
 */
public interface Ecoutable {
    
    //private final EventListenerList listeners = new EventListenerList();
    public final ArrayList<Ecouteur> listeners = new ArrayList<Ecouteur>();
    
    public void addEcouteur(Ecouteur listener) ;
    
    public void removeEcouteur(Ecouteur listener) ;
    
    public Ecouteur[] getEcouteurs() ;
    
    /**
     * Notifie les ecouteurs.
     * @param info Infos sur le changement qui a eu lieu.
     * @see Ecouteur.
     */
    public void fireSomethingChanged(int info);
}
